/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.resume.sinistre.builder;

import fr.generali.accueilclient.resume.sinistre.om.IResumeSinistre;

/**
 * @author Holmes Kelly
 */
public class ResumeSinistreDirector {

    /**
     * 
     */
    private IResumeSinistreBuilder resumeSinistreBuilder = null;

    /**
     * @param resumeSinistreBuilder resumeSinistreBuilder
     */
    public ResumeSinistreDirector(IResumeSinistreBuilder resumeSinistreBuilder) {

        this.resumeSinistreBuilder = resumeSinistreBuilder;
    }

    /**
     * Appel de tous les build de resumeSinistreBuilder
     */
    public void constructResumeSinistre() {

        resumeSinistreBuilder.buildBilanNature();
        resumeSinistreBuilder.buildCodeNature();
        resumeSinistreBuilder.buildCodeProduitContrat();
        resumeSinistreBuilder.buildCodeSocieteContrat();
        resumeSinistreBuilder.buildDateCloture();
        resumeSinistreBuilder.buildDateCompetence();
        resumeSinistreBuilder.buildDateDeclaration();
        resumeSinistreBuilder.buildDateDROC();
        resumeSinistreBuilder.buildDateSurvenance();
        resumeSinistreBuilder.buildIndicateurSinistreGrave();
        resumeSinistreBuilder.buildMontantTotal();
        resumeSinistreBuilder.buildMontantTotalDevise();
        resumeSinistreBuilder.buildNbRecoursAboutis();
        resumeSinistreBuilder.buildNbRecoursExerces();
        resumeSinistreBuilder.buildNbRecoursSubis();
        resumeSinistreBuilder.buildNumeroContrat();
        resumeSinistreBuilder.buildNumeroImmatriculationVehicule();
        resumeSinistreBuilder.buildNumeroSinistreCie();
        resumeSinistreBuilder.buildReglementAssure();
        resumeSinistreBuilder.buildReglementAssureDevise();
        resumeSinistreBuilder.buildResponsabiliteSinistre();
        resumeSinistreBuilder.buildRoles();
        resumeSinistreBuilder.buildStatut();
        resumeSinistreBuilder.buildSystemeOrigineSinistre();
        resumeSinistreBuilder.buildSystemeOrigineContrat();
        resumeSinistreBuilder.buildTypeRecours();
        resumeSinistreBuilder.buildTypeSiteGestion();
        resumeSinistreBuilder.buildNumeroSinistreAgent();
        resumeSinistreBuilder.buildMontantTotalDesReglements();
    }

    /**
     * @return IResumeSinistre
     */
    public IResumeSinistre getResumeSinistre() {

        return resumeSinistreBuilder.getResumeSinistre();
    }
}
